package lpca.view 
{
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.display.Sprite;
	import flash.sampler.NewObjectSample;
	import kioschool.view.controls.IControlsFactory;
	import kioschool.view.controlsimpl.*;
	import kioschool.view.controls.*;
	import kioschool.controller.PrimaryController;
	/**
	 * ...
	 * @author D.Shakshin
	 */
	public class LpcaControlsFactory implements IControlsFactory
	{
		private static var _instance: LpcaControlsFactory;
		/**
		 * Создает панель смены режимов <br/>
		 * Предполагается, что данный компонент позволяет переключать режимы платформы
		 * при помощи модификатора regime в PrimaryController
		 */
		public static function instance(): LpcaControlsFactory
		{
			if (_instance == null)			
				_instance = new LpcaControlsFactory(new PrivateClass);				
				return _instance;
		}
		public function createRegimePanel():IRegimePanel
		{
			return new DefaultRegimePanel();
		}
		
		/**
		 * Создает панель навигации - переходов между шагами.
		 * 
		 */ 
		public function createNavigationPanel():INavigationPanel
		{
			return new DefaultNavigationPanel();
		}
		
		/**
		 * Создает панель комментариев к шагу
		 * 
		 */ 
		public function createCommentPanel():ICommentPanel
		{			
			var commentPanel: ICommentPanel = new DefaultCommentPanel();			
			return commentPanel;
		}
		
		/**
		 * Создает область визуализации алгоритма
		 * 
		 */ 
		public function createWorkspace():DisplayObjectContainer {				
			return new Sprite();
		}
		
		public function LpcaControlsFactory(privateClass: PrivateClass) 
		{
			
		}
		
		
		
	}
	
}	
class PrivateClass
{
	public function PrivateClass()
	{	
	}
}
